package empleados.clases.componentes;

import empleados.clases.entidades.BaseDatos;
import java.sql.ResultSet;

public class Localidad{

    private BaseDatos bd;

    private int id;
    private String ciudad;
    private String estado;
    private String pais;

    public Localidad(){}

    public Localidad(int id){
        ResultSet resultado = null;
        bd = new BaseDatos("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1:3306/terafit", "root", "");
        resultado = bd.obtenerDatos("SELECT * FROM localidad AS l JOIN estado AS e ON l.id_estado = e.id JOIN pais AS p ON e.id_pais = p.id WHERE l.id = " + id);
        try{
            resultado.next();
            this.setLocalidad(resultado.getInt(1), resultado.getString("ciudad"), resultado.getString("estado"), resultado.getString("pais"));
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println("No existe esa localidad.");
            e.printStackTrace();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    protected void setLocalidad(int id, String ciudad, String estado, String pais){
        this.id = id;
        this.ciudad = ciudad;
        this.estado = estado;
        this.pais = pais;
    }

    private void setId(int id){
        this.id = id;
    }

    private void setCiudad(String ciudad){
        this.ciudad = ciudad;
    }

    private void setEstado(String estado){
        this.estado = estado;
    }

    private void setPais(String pais){
        this.pais = pais;
    }

    public String getCiudad(){
        return this.ciudad;
    }

    public String getEstado(){
        return this.estado;
    }

    public String getPais(){
        return this.pais;
    }

    public String toString(){
        return this.ciudad + ", " + this.estado + ", " + this.pais;
    }

    /*public Localidad[] getLocalidades(){
        Localidad localidades[] = null;
        ResultSet resultado;
        int cntLocalidades = 0;
        try{
            bd = new BaseDatos("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1:3306/terafit", "root", "");
            resultado = bd.obtenerDatos("SELECT COUNT(*) FROM localidad AS l JOIN estado AS e ON l.id_estado = e.id JOIN pais AS p ON e.id_pais = p.id");
            resultado.next();
            localidades = new Localidad[resultado.getInt(1)];
            resultado = bd.obtenerDatos("SELECT * FROM localidad AS l JOIN estado AS e ON l.id_estado = e.id JOIN pais AS p ON e.id_pais = p.id");
            while(resultado.next()){
                localidades[cntLocalidades++] = new Localidad(resultado.getInt(1));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally{
            return localidades;
        }
    }*/

}